The field of the present invention relates to data reading devices, such as scanners and barcode reading devices. In particular, barcode readers are described herein which employ methods and apparatus for improved edge detection for more accurately measuring bar and space widths under high Inter-Symbol Interference (hereafter xe2x80x9cISIxe2x80x9d) conditions.
A barcode label comprises a series of parallel dark bars of varying widths with intervening light spaces, also of varying widths. The information encoded in the barcode is represented by the specific sequence of bar and space widths, the precise nature of this representation depending on the particular barcode symbology in use.
Barcode reading methods typically comprise the generation of an electronic signal wherein signal voltage alternates between two preset voltage levels, one representative of the dark bars and the other representative of the light spaces. The temporal widths of these alternating pulses of high and low voltage levels correspond to the spatial widths of the bars and spaces. The temporal sequence of alternating voltage pulses of varying widths comprising the electronic signal is presented to an electronic decoding apparatus for decoding of the information encoded in the barcode.
A variety of common and well developed methods exist for generating the electronic signal by converting the spatial bar/space sequences into temporal high/low voltage sequences, i.e., barcode reading. Common types of barcode readers include spot scanners and line scanners.
Spot scanners comprise barcode reading systems wherein a source of illumination, the reading spot, is moved (i.e., scanned) across the barcode while a photodetector monitors the reflected or backscattered light. In one type of spot scanner system, typically referred to as a wand reader, the reading spot of the scanner is manually moved across the barcode. In another type of spot scanner system the reading spot of the scanner is automatically moved across the barcode in a controlled pattern. In any of the spot scanner systems, the path followed by the scanned illumination beam is typically referred to as a scan line.
The illumination source in spot scanners is typically a coherent light source (such as a laser), but may comprise a non-coherent light source (such as a light emitting diode). A laser illumination source, however, offers the advantage of high intensity illumination over a small area which may allow barcodes to be read over a large range of distances from the barcode scanner (large depth of field) and under a wide range of background illumination conditions. The photodetector associated with spot scanners may generate a high current when a large amount of light scattered from the barcode impinges on the detector, as from a light space, and likewise may produce a lower current when a small amount of light scattered from the barcode impinges on the photodetector, as from a dark bar.
In automatic spot scanning systems, a scanning mechanism, or scan engine, is utilized to automatically scan the illumination beam across the barcode. Such scanning mechanism may comprise a rotating mirror facet wheel, a dithering mirror, or other means for repetitively moving the illumination beam.
In addition to a scan engine, a barcode scanner may also employ a set of scan pattern generating optics to produce a multiplicity of scan lines in various directions from the scanner and at varying orientations, thereby allowing barcodes to be read over a large angular field of view and over a wide range of orientations (i.e., a multi-dimensional scan pattern). The scan pattern generating optics typically comprise a set of mirrors aligned at varying angles, each of which intercepts the illumination beam during a portion of its motion and projects it into the region in front of the barcode scanner, hereinafter referred to as the scan volume. Each mirror in the set, in conjunction with the scan engine, produces a scan line at a particular position and at a particular orientation.
Early prior art spot scanner systems depended upon individual scan lines extending across the entire barcode for the barcode to be successfully read. These systems presented difficulties and inefficiencies in real-time, practical applications wherein the orientation of a barcode vis-a-vis the scanner was hard to control. Accordingly, specialized piecing mechanisms, comprising software or electronics, have been developed that are capable of taking partial portions of barcodes and assembling them into a complete code, a process commonly known as stitching. Further details regarding exemplary stitching methods and systems may be found in U.S. Pat. No. 5,493,108, entitled xe2x80x9cMethod and Apparatus for Recognizing and Assembling Optical Code Labelsxe2x80x9d and issued in the name of inventors Craig D. Cherry and Donald D. Dieball, which patent is owned by the owner of the present application and is hereby incorporated by reference as if fully set forth herein.
With respect to line scanner systems, an entire barcode is focused onto a multi-element linear or areal photodetector array and the image of the barcode is detected. The photodetector array may comprise a CCD array (charge coupled device), a CMOS active or passive pixel sensor array, or other multi-element photodetector array. This type of reader may also include a light source to illuminate the barcode to provide the required signal response corresponding to the image. The imaging optics which produce an image of the barcode on the photodetector array can alternatively be thought of as projecting an image of the photodetector array (a xe2x80x9cvirtual scan linexe2x80x9d) into the scan volume in a manner completely analogous to the real scan line produced by a spot scanner. Further, scan pattern generating optics may be used to project multiple virtual scan lines into the scan volume in various directions and at varying orientations, thereby generating a virtual scan pattern, once again completely analogous to the real scan pattern produced by a spot scanner. Virtual scan pattern systems are further described in U.S. Pat. No. 5,446,271, entitled xe2x80x9cOmnidirectional Scanning Method and Apparatusxe2x80x9d and issued in the name of inventors Craig D. Cherry and Robert J. Actis, which patent is owned by the owner of the present application and is hereby incorporated by reference as if fully set forth herein.
Regardless of which of the barcode readers described in the preceding paragraphs is used, a raw electronic signal is generated from which the relative widths of the bars and spaces must be extracted. High-to-low or low-to-high transitions (i.e., edges) in the electronic signal voltage may be detected by any of a number of means well known in the art. A common and well known technique for edge detection is second derivative signal processing. In second derivative signal processing systems, optical edges result in peaks in the first derivative signal, and zero crossings in the second derivative signal. In such systems, zero crossings of the second derivative of the electronic signal are found during selected timing intervals as a means of detecting valid transitions. Examples of this technique are described in U.S. Pat. No. 4,000,397 entitled xe2x80x9cSignal Processor Method and Apparatusxe2x80x9d issued in the name of Hebert et al., and in U.S. Pat. No. 5,925,868 entitled xe2x80x9cMethod and Apparatus for Determining Transitions Between Relatively High and Low Levels in an Input Signalxe2x80x9d issued in the name of Arends et al., and in U.S. Pat. No. 5,923,023 entitled xe2x80x9cMethod and Apparauts for Detecting Transitions in an Input Signalxe2x80x9d also issued in the name of Arends et al. Each of the three foregoing patents are assigned to the assignee of the present application, and each is hereby incorporated by reference as if fully set forth herein. U.S. Pat. No. 4,000,397 describes the xe2x80x9cclassicxe2x80x9d second derivative edge detector for bar code scanners, wherein zero crossings of the second derivative signal are considered valid edges if, at the moment of crossing, the absolute value of the first derivative signal exceeds a threshold. This threshold may be fixed, or it may be a function of the amplitude of neighboring first derivative peaks. In either case, though, the threshold level must be greater than the baseline level plus an allowance for noise. This is required since, in the absence of optical features, second derivative zero crossings would otherwise be considered valid.
While second derivative signal processing systems may perform satisfactorily under most conditions, the instant inventors have found that when the size of the laser spot as imaged on the target label is large compared with the smallest element (i.e., bar or space) width, then crowding, resulting in a phenomenon commonly referred to as intersymbol interference, or ISI, may occur. Such crowding occurs as the system impulse response of one edge interferes with that of neighboring edges. This effect tends to be most prevalent at the extremes of the depth-of-field (DOF) of the scanner. Accordingly, poor performance in high-ISI regions limits the scanner DOF. In the case of an edge surrounded by two adjacent edges of opposite polarity, it is possible that the first derivative peak will occur at or even below the baseline. In either of these cases, the threshold in the second derivative edge detector is not exceeded, and thus these legitimate edges may be incorrectly rejected as noise. The instant inventors have determined that, typically, when the spot size (measured as 1/e2 diameter) is more than about 2.5 times the size of the smallest target label feature (such ratio hereafter being referred to as the STBR, or spot-to-bar ratio), then unsatisfactory performance may result.
U.S. Pat. No. 5,210,397, to Eastman, et al., describes a dual diode edge detector for bar code scanners. In such implementation as provided in U.S. Pat. No. 5,210,397, edges are validated if the difference between the current and the previous first derivative peaks exceeds a threshold, regardless of absolute position with respect to the baseline. Thus, it is possible to detect peaks at or below the baseline and valleys at or above the baseline. Accordingly, such a detector may offer improved performance under high ISI conditions. While a dual-diode implementation may perform satisfactorily under many circumstances, the instant inventors have identified that such implementation is primarily suited to when the signal modulation depth is large compared to the forward voltage drop of the diodes. The instant inventors have further found, however, that numerous drawbacks may be inherent in such implementation under some circumstances. These drawbacks each result primarily from the fact that the threshold is effectively set by the diode forward drop. Typically, the diode forward drop is large, thus reducing the dynamic range. This is particularly apparent if the supply voltage is low. As well, the forward drop generally varies considerably over process, thus yielding inconsistent performance in production. Also, as will be further elaborated hereinbelow, the forward drop in such implementation cannot adapt to signal level. Lastly, it is necessary that the drop of the two diodes match accurately, or positive and negative going edges will not have the same relationship in time at the edge detector output as at the input.
The dynamic range of the dual diode detector is limited on the high side by the supply rails, and on the low side by the forward diode drop. This available range is typically much less than that required by the optical system in a long range scanner. While an automatic gain control can be employed to maintain the first derivative amplitude within the usable range, such controls require multiple passes for settling. As a result, response time is slowed. The instant inventors have identified a faster solution as provided herein.
The present disclosure relates to systems and methods for improving the accuracy of edge detection under high Inter-Symbol Interference, or ISI, conditions. The systems and methods detailed herein use an adaptive threshold set in real time as a function of peak amplitude. In a preferred embodiment, an amplified and filtered first derivative signal is offset by equal amounts in both directions to generate positive and negative offsets which serve as inputs to negative and positive peak detectors, respectively. In a further aspect, a preferred embodiment herein implements a fast adaptive approach wherein the first derivative signal is attenuated and AC-coupled to the positive supply to drive a peak detector with a fairly short attack time, such that its output is nearly settled on the first peak of the first derivative signal, but having a decay time long enough to keep the threshold level approximately constant across the label.
In a preferred embodiment, a peak is qualified if the original first derivative signal crosses one of the peak detector outputs. Alternatively viewed, peaks are qualified if the peak in question differs in amplitude from the previously qualified peak by the offset amount. Thus, peaks are qualified if their modulation depth exceeds a threshold, regardless of the absolute level of the peaks (such qualification strategy is hereafter referred to as xe2x80x9cmodulation depth gatingxe2x80x9d).
The disclosed approach has an improved ability to render highly crowded pulses with peaks occurring through most of the range between supply rails being properly detected and with the lower limit of the dynamic range being set by the noise floor and electronic offsets, which is significantly lower than the diode forward drop limit for the dual diode detector. The disclosed approach has a relatively broad dynamic range and fast response, as well as capability to reject baseline noise similar to that of second derivative systems. In the embodiment wherein the peak detector references to the supply rail, the peak detector stage may directly drive a following voltage-to-current converter while, at the same time, maintaining the largest possible dynamic range for the first derivative and offset signals. In an alternative embodiment, a slow AGC loop circuit is wrapped around the system to assist in maintaining the first derivative signal within the dynamic range.
The preferred embodiments herein may advantageously offer more accurate rendering of relative bar and space widths under high ISI conditions, thus allowing the barcode scanner to be used under a wider range of conditions. Accordingly, the preferred embodiments herein may provide one or more of the following objects and advantages:
to provide an edge detection system which is tolerant of a high degree of inter-symbol interference;
to provide an edge detection system wherein the dynamic range is limited on the low end only by the noise in the input signal and electronic offsets;
to provide an edge detection system capable of detecting peaks through most of the dynamic range between supply rails;
to provide an edge detection system having a fast adaptive response;
to provide an edge detection system capable of rejecting baseline noise similarly to that of second derivative edge detector systems; and,
to provide such a system and method which offers improved depth of field performance over that of second derivative edge detector systems.